package cn.com.captureNetPacket.model;

import lombok.Builder;
import lombok.Data;
import org.jnetpcap.protocol.voip.Rtp;

@Data
@Builder
public class RtpDto {


    /**
     * 接受的时间
      */

    Long reciveTime ;
    /**
     * Rtp包
     */
//    Rtp rtp;

    /**
     * 根据网络等情况排序后的序号。
     */
    int realSeq=-1;


    /**
     * 是否已成为稳定排序中，已存入将要写入文件的缓冲。
     */
    boolean save2Formal=false;

    /**
     *  存活次数，对比一轮则+1，达到（超时时间/20ms）的包数则清理掉。
     */
    int survivalTimes=0;

    /**
     * 自增存活次数
     */
    public void autoIncreaseSurvivalTimes(){
        survivalTimes++;
    }


    /**
     *  original rtp 原始数据
     */

    long timestamp=-1;
    long sequence=-1;
    int type=-1;
    byte[] payload=null;
    public void original2Dto(Rtp rtp){
        timestamp=rtp.timestamp();
        sequence=rtp.sequence();
        type=rtp.type();
        if(rtp.getPayload()!=null) {
            payload = new byte[rtp.getPayload().length];
            System.arraycopy(rtp.getPayload(), 0, payload, 0, rtp.getPayload().length);
        }
    }





}
